package com.ybbase.framework.model.po.flow;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.ybbase.framework.model.vo.flow.NodeUsergroupVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 流程任务用户对照表
 * </p>
 *
 * @author cg
 * @since 2019-12-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("act_node_usergroup")
@ApiModel(value="NodeUsergroup对象", description="流程任务用户对照表")
public class NodeUsergroup extends Model<NodeUsergroup> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "唯一编码 : 唯一编码")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "流程编码 : 流程编码")
    private String flowCode;

    @ApiModelProperty(value = "节点编码 : 节点编码")
    private String nodeCode;

    @ApiModelProperty(value = "委托人 : 委托人")
    private String userIds;

    @ApiModelProperty(value = "任务委托人编码 : 任务委托人编码（el表达式中的编码）")
    private String taskUserCode;

    @ApiModelProperty(value = "委托组织机构 : 委托组织机构")
    private String orgIds;

    @ApiModelProperty(value = "任务委托机构编码 : 任务委托机构编码（el表达式中的编码）")
    private String taskOrgCode;

    @ApiModelProperty(value = "备选人 : 备选人")
    private String alternativeUserIds;

    @ApiModelProperty(value = "任务备选人编码 : 任务备选人编码（el表达式中的编码）")
    private String taskAlternativeUserCode;

    @ApiModelProperty(value = "备选组织机构 : 备选组织机构")
    private String alternativeOrgIds;

    @ApiModelProperty(value = "任务备选机构编码（ : 任务备选机构编码（el表达式中的编码）")
    private String taskAlternativeOrgCode;

    @ApiModelProperty(value = "组织机构流程编码 : 组织机构流程编码")
    private String orgFlowType;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    /*********************************扩展***************************************/
    @ApiModelProperty(value = "节点动作集")
    @TableField(exist = false)
    public String userNames;

}
